Java’s data type
byte |
정수형 |
문자형 |
실수형 |
논리형 |
1 |
byte |
|
|
boolean |
2 |
short |
char |
|
|
4 |
int |
|
float |
|
8 |
long |
|
double |
|
문자열 : String(class)
Only in local variables can use ‘var’ (after Java version 10)
when define long integer
integer over int(4byte) range have to add L or l(float aloso)
Java does not has unsigned data type->char can’t represent minus integer
Java string base on UNICODE(2byte)-'UTF-16'
Korean UNICODE
long lnum=12345678900L;
float fnum=3.14F;
define constant(final)
final double PI=3.14
final int MAX_NUM=100;
shift operation distintic with C
C
unsigned long int -> logical shift
signed long int -> arithmetic shift
Java
no matter type >> -> arithmetic shift
>>> -> logic shift
because Java don’t has unsigned data type
Java’s note
Acess modifier(접근 제어자)
AcessModifier |
explain |
public |
외부 클래스 어디에서나 접근할 수 있습니다. |
protected |
같은 패키지 내부와 상속 관계의 클래스에서만 접근할 수 있고, 그 외 클래스에서는
접근할 수 없습니다. |
private |
같은 클래스 내부에서만 접근할 수 있습니다. |
- |
default이며 같은 패키지 내부에서만 접근할 수 있습니다. |
Variables
변수유형 |
선언위치 |
사용범위 |
메모리 |
지역변수(local) |
함수 내부 |
함수 내부 |
스택 |
멤버변수(instance) |
클래스 멤버 변수로 선언 |
클래스 내부(if not private 다른 클래스에서 가능) |
힙 |
Static변수(class) |
static 예약어를 사용하여 클래스 내부에서 선언 |
"" |
데이터 |
static 변수는 모든 인스턴스가 공유하여 사용
Design pattern
design pattern is design to make effective program for object oriented programming language
example for Singleton patter
Singleton pattern
singleton pattern is by useing static makes only one instance methods
Company.java
package singleton;
public class Company {
private static Company instance=new Company();
private Company(){}
public static Company getInstatnce() {
if(instance==null){
instance=new Company();
}
return instance;
}
}
CompanyTest.java
package singleton;
public class CompanyTest {
public static void main(String[] args){
Company myCompany1=Company.getInstance();
Company myCompany2=Company.getInstance();
System.out.println(myCompany1==myCompany2);
}
}
Java making array
Java has two methods to make array
자료형[] 배열이름=new 자료형[개수];
자료형 배열이름[]=new 자료형[개수];
int[] studentIDs=new int[10];
int[] studentIDs2=new int[]{101,102,103};
int[] studentIDs2={101,102,103}
int[] studentIDs3;
studentIDs3=new int[]{101,102,103};
enhanced for loop
after java version 5 can use enhanced for loop
enhanced for loop is comvenient at array loop
package array;
public class EnhancedForLoop{
public static void main(String[] args){
String[] strArray={"Java","C","Python","C++","Assembly"};
for(String lang:strArray){
System.out.println(lange);
}
}
}
Java
C
Python
C++
Assembly